package cn.getech.data.development.model.dto;

import cn.getech.data.development.dto.JobInfoDto;
import cn.getech.data.development.entity.AlarmObject;
import cn.getech.data.development.entity.JobLink;
import cn.getech.data.development.entity.JobNodeConfig;
import cn.getech.data.development.entity.WorkMenuJobRel;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 作业流菜单树
 * </p>
 *
 * @author hujz
 * @since 2020-04-13
 */
@Data
public class WorkMenuAndLayDto implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    /***
     * 新的菜单id
     */
    private Long newId;


    /***
     * 新的工程id
     */
    private Long newProcId;

    /**
     * 工程id
     */
    private Integer procId;

    /**
     * 新的根菜单id:0
     */
    private Long newParentId;

    /**
     * 根菜单id:0
     */
    private Long parentId;

    /**
     * 作业流类型。0：作业流程文件夹 1：作业流血缘管理文件夹 2：作业流文件夹  3：目录
     */
    private Integer workType;


    /**
     * 新的根目录id
     */
    private Long newRootId;

    /**
     * 根目录id
     */
    private Long rootId;

    /**
     * 文件夹名字
     */
    private String name;

    /**
     * 文件夹描述
     */
    private String descName;

    /**
     * 文件夹图标
     */
    private String icon;

    /**
     * 排序
     */
    private Integer orderNum;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 新的创建人id
     */
    private Integer newCreatePer;

    /**
     * 创建人
     */
    private Integer createPer;

    private String createPerName;

    /***
     * 工作流
     */
    private JobInfoDto jobInfoDto;

    /***
     * 对应的质量规则报警关系表
     */
    private List<DataManagerQualityRulesRelDto> managerRulesRelDtos;

    /***
     * 报警规则关联表
     */
    private List<AlarmObject> alarmObjects;

    /***
     * 菜单的调度和参数配置信息
     */
    private JobNodeConfig jobNodeConfig;

    /***
     * 菜单和任务的关联关系
     */
    private List<WorkMenuJobRel> workMenuJobRels;

    /***
     * 菜单和工作流依赖的关系
     */
    private WorkFlowDepDto workFlowDepDto;

    /***
     * 菜单和任务连线的关系
     */
    private List<JobLink> jobLinks;

    private String tmpPathName;//历史的路径名称

}
